This invention relates to an authentication process with an access control and/or payment system for voice or information services offered by a service provider, who may or may not be a telecommunications operator.
The reference configuration illustrated in the figure shows a conventional device related to:
1xc2x0) client equipment (telephone or IT terminal);
2xc2x0) service provider equipment (for example order point for operator network services, voice server, Internet server belonging to a service provider, etc.);
3xc2x0) an access control and/or payment server.
This reference configuration is applicable to exchanges considered throughout the rest of this description. Functions 2xc2x0) and 3xc2x0) may or may not be related to the same operator/service provider.
In this type of device, a transaction involving access control and/or payment takes place as follows:
(I) A communication is set up between the client and the service provider.
(II) The service provider checks the customer""s access rights and/or whether or not there is a useable account (customer account to be invoiced or prepaid account), with the access and/or payment server; possibly to obtain further data such as the maximum credit for the account considered.
(III) The service is provided.
(IV) The service provider may or may not send charging data to the access control and/or payment server.
The following security requirements have been identified for this type of transaction:
Customer Anonymity Towards Third Parties
In this case, a third party means:
1xc2x0) Any person who could access exchanges between the customer and the service provider. It must be impossible to use identification and authentication data transmitted during these exchanges to determine the customer""s identity or even to determine what communications relate to a particular customer.
2xc2x0) The service provider itself, if it does not perform the access control and/or billing control function. If these functions are separate, it may be necessary to prevent the service provider from determining the identity of customers, or even preparing statistics based on grouping of transactions for a particular customer. In this case the identity of the customer (or the account used), which is essential for the access control and/or the payment for the service, must not be available to the service provider, either in plain text or in the form of a static pseudonym.
Customer Identity Authentication During Phase (II)
This authentication ensures that the customer, whose customer number and account number are given in the identification data transmitted to the control system (through the service provider), has actually set a communication with the service provider. An active authentication is essential in order to prevent frauds by replaying old data.
Furthermore, an additional security service may also be offered optionally:
Customer Data Authentication
For example, the access control and/or the payment server can use this function to make sure that the customer accepts the amount of the service in the case in which the data on which the authentication is calculated represent this amount.
At the present time, most devices with secret keys performing an authentication use an xe2x80x9cidentification-authenticationxe2x80x9d type scheme (typically name+password) and consequently there is no anonymity.
Devices guaranteeing anonymity at the same time as legal access to a resource are rare and are systematically based on the use of a public key, as described in article reference [1] at the end of the description, but this implies fairly long exchanges (at least 512 bits). However, the customer may only have a telephone and may be put into contact with a human operator or a voice or non-voice server at the service provider. The customer may also have a microcomputer without a modem. In this case, it is impossible to ask him to type an excessively long sequence of characters on his keyboard, or to say it orally.
In the process according to the invention, due to strong constraints on the length of the identification-authentication type scheme (typically name+password) and consequently there is no anonymity.
Devices guaranteeing anonymity at the same time as legal access to a resource are rare and are systematically based on the use of a public key, as described in article reference [1] at the end of the description, but this implies fairly long exchanges (at least 512 bits). However, the customer may only have a telephone and may be put into contact with a human operator or a voice or non-voice server at the service provider. The customer may also have a microcomputer without a modem. In this case, it is impossible to ask him to type an excessively long sequence of characters on his keyboard, or to say it orally.
In the process according to the invention, due to strong constraints on the length of the identification-authentication message, the use of an authentication method using a public key (which would result in messages more than 100 digits long) is unthinkable. Furthermore, it is impossible to use the conventional technique for authentication of a random number emitted by the network, which would require a two-directional exchange.
The purpose of the invention is an authentication process that can solve the problems described above. Document reference [2] describes a method and a device enabling identification of a mobile user in a communication network. This method consists of encrypting the user""s identifier and/or his password and a synchronization indication, preferably over a fixed time interval, by using a secret single-directional function and sending the encrypted message called the xe2x80x9cdynamic user identifierxe2x80x9d to a user center in which it is recorded. This method ensures that the user remains anonymous towards third parties; third parties are incapable of identifying the user or following his movements. This method enables a user who moves from a home area to another area to inform the user center for this area and his home area center.
Document reference [3] describes various methods of protecting information, objects and other resources located in networks and in distributed systems. In particular, this document describes single directional authentication methods. In one of these methods, an electronic card issued to a user periodically generates a new random number by encrypting a real time clock read with a secret key hidden inside the card. The resulting random number is then used as a xe2x80x9csingle usexe2x80x9d password. A host computer which has a copy of the secret key on each user card can perform the same encryption to verify the random numbers that it receives. These cards can send a xe2x80x9cchallengexe2x80x9d word such as {user name, password, date, time} to the host computer, encrypted with a built up secret key shared with the computer.
This invention relates to an authentication system with an access control and/or payment system that maintains anonymity towards a third party, characterized in that an authentication sequence that is completely different in each transaction is transmitted using a single directional authentication protocol, such that it is impossible for a third party to determine the identity of the customer, or even to determine which transactions are sent by the same customer.
Advantageously, a counter in the customer""s authenticator incremented by one unit at each authentication attempt is used, the authentication data transmitted during each access being the current value C of the customer""s counter and an authentication code CA with d digits, calculated starting from the customer""s secret authentication key Kcustomer and the counter C using an authentication algorithm A, the code CA being given by the following relation:
CA=A(Kcustomer, C)
If the customer would like to xe2x80x9csignxe2x80x9d the data M, the parameter M also appears in the authentication calculation, the authentication code CA being given by the relation:
CA=A(Kcustomer, C||M).
In the access control and/or payment server, the value of the counter corresponding to the last successful authentication, Cxe2x80x2, is kept for each customer.
The access control and/or payment server is capable of rebuilding the secret authentication key Kcustomer for each customer.
Advantageously, this key may be rebuilt starting from a master authentication key KA common to the entire system and from the customer""s identity, using an algorithm called the diversification algorithm and denoted D where:
Kcustomer=D(KA, ID[customer]).
Advantageously, an authentication attempt is only accepted if the value of the counter C for the customer considered is greater than Cxe2x80x2 by one to several tens of units and if the authentication value CA which accompanies it is equal to the authentication value recalculated by the server using C and the key Kcustomer.
Advantageously, in order to maintain anonymity of the customer""s identity with regard to the service provider, this identity is encrypted using a key shared between the customer""s authenticator and the access control and/or payment server.
Clients can optionally be distributed into groups, and a separate encryption key can be used for each group.
In a first variant of the invention, not based on the use of group numbers, the customer transmits the following during each access:
his individual identification number NI encrypted with the system encryption key K, using the authentication value CA as initialization vector;
authentication data CA and a short representation of the value of the counter C (which for example may be composed of the two low order digits of C), denoted c. Advantageously, c may be encrypted using the key K, and using the authentication value CA as an initialization vector.
In a second variant based on the use of group numbers, the customer transmits the following during each access:
the group number to which he belongs, NG, in plain text;
his individual identification number within the group, NI, encrypted with the encryption key KNG for the group NG using the authentication value CA as initialization vector. The complete identity of a customer is given by the pair (NG, NI);
authentication data CA and a short representation of the value of the counter C (which for example may be composed of the two low order digits of C) denoted c. Advantageously, c may be encrypted using the key KNG, and using the value of CA as an initialization vector.
In a third variant, the group number NG is also encrypted using an encryption key K common to the entire system.
In order to facilitate management of group keys in the access control and/or payment server, all keys in group KNG may depend on the same master key KE through a diversification algorithm:
KNG=D(KE, NG)
The algorithm for encryption of NI and C using key KNG is denoted E, the encryption algorithm for NG using key K is denoted Exe2x80x2, the concatenation of two decimal (or binary or hexadecimal, etc.) strings A and B is denoted A||B, and the identification-authentication message is then created by concatenating the following elements:
the encrypted value Exe2x80x2k,CA(NG) of the group number;
the authentication code CA;
the encrypted value EKNG,CA (c||NI), where c is a short representation of the value of the counter C (for example c is composed of the two low order digits of counter C);
the identification-authentication sequence is given by the following string:
Exe2x80x2K,CA(NG)||EKNG,CAC||NI)||CA.